package study.web.service.cxf.controller;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import study.web.service.cxf.pojo.SupportCity;
import study.web.service.cxf.pojo.Weather;
import study.web.service.cxf.service.IWeatherService;

/**  
* @Name: WeatherController
* @Description: 天气信息查询Controller
* @Author: 李超
* @Create Date: 2017-01-08
*/
@Controller
public class WeatherController {
	
	//注入天气查询service
	@Resource(name="weatherService")
	private IWeatherService weatherService ;
	
	/**  
	* @Name: queryWeather（方法的名称）
	* @Description: 跳转到天气查询界面（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2017-01-08 （创建日期）
	* @Parameters: 无（方法的入参，如果没有，填写为“无”）
	* @Return: String 返回天气查询逻辑视图（返回值，如果没有，填写为“无”）
	*/
	@RequestMapping("queryWeather")
	public String queryWeather() {
		return "queryWeather" ;
	}
	
	/**  
	* @Name: querySupportProvince（方法的名称）
	* @Description: 跳转到天气查询服务所支持的城市查询界面（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2017-01-08 （创建日期）
	* @Parameters: 无（方法的入参，如果没有，填写为“无”）
	* @Return: String 返回城市查询逻辑视图（返回值，如果没有，填写为“无”）
	*/
	@RequestMapping("querySupportProvince")
	public String querySupportProvince() {
		return "querySupportProvince" ;
	}
	
	/**  
	* @Name: queryWeatherByCityName（方法的名称）
	* @Description: 根据城市名称，查询未来三天的天气信息（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2017-01-08 （创建日期）
	* @Parameters: String cityName 城市名称（方法的入参，如果没有，填写为“无”）
	* @Return: String 返回查询结果视图（返回值，如果没有，填写为“无”）
	*/
	@RequestMapping("queryWeatherSubmit")
	public String queryWeatherSubmit(Model model, String cityName) throws Exception {
		//调用天气查询服务，获取天气信息
		List<Weather> weatherList = weatherService.queryWeatherByCityName(cityName) ;
		//通过model对象将参数传到jsp页面
		model.addAttribute("weatherList", weatherList) ;
		return "queryWeather" ;
	}
	
	/**  
	* @Name: queryWeatherByCityName（方法的名称）
	* @Description: 根据省份名称，查询天气查询服务所支持的城市信息（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2017-01-08 （创建日期）
	* @Parameters: String cityName 省份名称（方法的入参，如果没有，填写为“无”）
	* @Return: String 返回查询结果视图（返回值，如果没有，填写为“无”）
	*/
	@RequestMapping("querySupportProvinceSubmit")
	public String querySupportProvinceSubmit(Model model, String provinceName) {
		//调用天气查询服务，获取天气查询服务所支持的城市信息
		List<SupportCity> cityList = weatherService.querySupportCity(provinceName) ;
		//通过model对象将参数传到jsp页面
		model.addAttribute("cityList", cityList) ;
		//返回逻辑视图
		return "querySupportProvince" ;
	}

}
